package com.example.teachingSystem.pojo.form.exam;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;

@Data
@Schema(description = "更新公示表")
public class UpdateExamForm {
    /**
     * 考试ID：考试的唯一标识符。自动递增。
     */
    @Schema(description = "考试ID")
    @NotNull(message = "考试ID不能为空")
    private Long examId;

    /**
     * 考试名称：考试的名称。
     */
    @Schema(description = "考试名称")
    @NotNull(message = "考试名称不能为空")
    private String examName;

    /**
     * 课程ID：考试所属的课程ID。
     */
    @Schema(description = "课程ID")
    @NotNull(message = "课程ID不能为空")
    private Long courseId;

    /**
     * 考试日期：考试的日期。
     */
    @Schema(description = "考试日期")
    @NotNull(message = "考试日期不能为空")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date examDate;

    /**
     * 考试时长（分钟）：考试的时长。
     */
    @Schema(description = "考试时长（分钟）")
    @NotNull(message = "考试时长（分钟）不能为空")
    private Integer duration;

    /**
     * 考试地点：考试的地点。
     */
    @Schema(description = "考试地点")
    @NotNull(message = "考试地点不能为空")
    private String location;

    /**
     * 考试描述：考试的详细描述。
     */
    @Schema(description = "考试描述")
    private String description;
}
